home *** CD-ROM | disk | FTP | other *** search
- /**************************************************************************\
- $VER: CNet Pager Maint, v5.20 (15-Mar-98) by Dotoran!
- \**************************************************************************/
- options results;signal on SYNTAX;signal on ERROR;signal on IOERR
- a=sourceline(2);parse var a . ", "ver" ("vdate")" .
- tr=transmit;se=sendstring;gc=getchar;gu=getuser;pu=putuser
- parse source . . fp .;df=left(fp,max(lastpos('/',fp),lastpos(':',fp)))
-
- /* For CNet3/4 Compatibility. */
- /* check; HiPort; check100; online; */
- /* 3Port0 4Port0 3HiPort 4HiPort 3Ports 4Ports 3PrtLd 4PrtLd */
- dat="2121864 2124654 2225094 2227884 2124264 2127054 2121862 2124652"
- bbsidentify bbs;a=word(result,3);cnet=(datatype(left(a,4),"n")=1&a>"4.44")+3
- guPORT0=word(dat,(cnet=4)+1) ; guHIPORT=word(dat,(cnet=4)+3)
- guPORTS=word(dat,(cnet=4)+5) ; guPORTL=word(dat,(cnet=4)+7)
-
- bbsidentify sysop;sysop=result
- gu 1;handle=result;gu 40;id=result;save=1;call READCONFIG
- gen="He";if ge=2 then gen="She";gu 1302307;arg1=result
- if arg1="" | arg1="*" then arg1="0-"
- if upper(left(arg1,1))="C" then signal CONFIG
- if upper(left(arg1,1))="A" then signal SYSAVAIL
- if upper(left(arg1,1))="L" | upper(left(arg1,1))="V" then signal READLOG
- if upper(left(arg1,1))="D" then signal DELETELOG
- if datatype(left(arg1,1),"n")=0 then signal HELP
-
- gu 1302368;arg2=result;if arg2="" then do;arg2="L";save=0
- tr "f1n1z4cf List Page Status for Port(s): z0n1";end
- if index("STF",upper(left(arg2,1)))>0 then do;arg2="S"
- tr "f1n1z4cf Swap Page Status for Port(s): z0n1";end
- if index("YIA",upper(left(arg2,1)))>0 then do;arg2="Y"
- tr "f1n1z4cf Enable Availability for Port(s): z0n1";end
- if index("NOU",upper(left(arg2,1)))>0 then do;arg2="N"
- tr "f1n1z4cf Disable Availability for Port(s): z0n1";end
-
- gu guPORTS;m=BitTST(d2c(result),4);se "cfGloballyc6: cd"sysop" c6is "
- tr word("c9UnAvailablec6! cbAvailablec6.",m+1)
-
- gu guHIPORT;hp=result
- tot=PARSE(arg1,hp);do i=1 to tot;p=it.i
- gu guPORTL+p*24;lp=result
- if lp<1 then lp=0;if lp=0 then do
- tr "cfPort ce#ca"right(p,2)"c6: is c9NOT cbLoadedc6.";iterate;end
- gu guPORT0+p*24;men=d2c(result)
- if arg2="S" then men=BitCHG(men,4)
- if arg2="Y" then men=BitSET(men,4)
- if arg2="N" then men=BitCLR(men,4)
- me=BitTST(men,4);if save=1 then do
- setobject c2d(men);pu guPORT0+p*24 /* .--> check_latch; */
- if cnet=4 then do;setobject "1";pu 2128304;end;end
- se "cfPort ce#ca"right(p,2)"c6: cd"sysop" c6is ";if me=0 & m=1 then me=-1
- tr word("c9UnAvailablec6! cbAvailablec6. c7[cbAvailablec7]",me+1+m)
- end
- exit
-
- CONFIG:;se "n1c6Loading cbPager cfConfigc6...#0"df"PagerConfig}";exit
- SYSAVAIL:;se "n1c6Loading cbPager cfSysAvailc6...#0"df"PagerSysAvail}";exit
- PARSE:;it.="";c=0;it=translate(Arg(1)," ",".,");do a=1 to words(it);c=c+1;it.c=word(it,a);if index(it.c,"-")>0 then do;parse var it.c x"-"y
- if upper(right(x,1))="A" then do;x=left(x,length(x)-1);if x=12 then x=0;end;if upper(right(x,1))="P" then x=left(x,length(x)-1)+12
- if upper(right(y,1))="A" then do;y=left(y,length(y)-1);if y=12 then y=0;end;if upper(right(y,1))="P" then y=left(y,length(y)-1)+12
- if y="" then y=Arg(2);if x="" then x=0;if x>y then do;d=x;x=y;y=d;end;do b=x to y;it.c=b;c=c+1;end b;c=c-1;end
- else do;if upper(right(it.c,1))="A" then do;it.c=left(it.c,length(it.c)-1);if it.c=12 then it.c=0;end
- if upper(right(it.c,1))="P" then it.c=left(it.c,length(it.c)-1)+12;end
- if it.c=24 then it.c=0;if it.c>Arg(2) then do;c=c-1;iterate a;end;end a;return c
- HELP:;tr "f1@4ceCNet Amiga cbPager cfMaintc6, cf"ver" c6by cdDotoran c6of cdFrontiersc6!n1"
- tr "cfFormatce: cd<caoptionalcd> cf[cerequiredcf] cd/ce=cf<c9orcf>n1"
- tr ">4cbSYSCc9- caList Status for ALL Ports."
- tr ">4cbSYS cd<cf[caPortc7(casc7)cf]cd>Cc9- ceList Specified Port Status."
- tr ">4cbSYS cd<cf[caPortc7(casc7)cf]cd> <cf[ceScf]cewapcd/cf[ceTcf]ceogglecd/cf[ceFcf]celipcd> c9- caSwap Availability Status."
- tr ">4cbSYS cd<cf[caPortc7(casc7)cf]cd> <cf[ceYcf]ceescd/cf[ceIcf]cencd/cf[ceAcf]cevailablecd> c9- ceEnable Availability Status."
- tr ">4cbSYS cd<cf[caPortc7(casc7)cf]cd> <cf[ceNcf]ceocd/cf[ceOcf]ceutcd/cf[ceUcf]cenavailablecd> c9- caDisable Availability Status.n1"
- tr ">4cbSYS cd<cf[c9Acf]c9vailcd>Cc9- ceLoad Pager SysAvail Editor.n1"
- tr ">4cbSYS cd<cf[ccCcf]cconfigcd>Cc9- caLoad Pager Config File."
- tr ">4cbSYS cd<cf[ccLcf]ccogcd/cf[ccVcf]cciewcd>Cc9- ceDisplay Pager Log File."
- tr ">4cbSYS cd<cf[ccDcf]ccelete Logcd>Cc9- caDelete Pager Log File."
- tr ">4cbSYS cd<cf[ccHcf]ccelpcd/cf[cc?cf]cd/cf[cc/cf]cd>Cc9- ceShow This Help Menu Again.n1"
- tr "c7<ccKeyc7>g1";exit
-
- READLOG:;a=""
- if handle=sysop then do
- tr "n1cbSysOp cfChat ceLogsc6: (cb* c6= cbExistsc6)n1"
- do i=1 to mtot ; ex=exists("sysdata:log/"logN||id.i)
- tr "cf"right(i,7)"c6> cb"substr(" *",ex+1,1)" ca"sys.i
- end i ; se "n1cbView ceWhichc6: cai64 2}" ; gu 70 ; b=result
- if b<1 | b>mtot then b=1 ; a=id.b
- end
- else do ; a=id ; b=ctr ; end
- if ~exists("sysdata:log/"logN||a) then do
- tr "n1ce"sys.b"'s cfPager cbLog c6is c9emptyc6..." ; exit ; end
- tr "n1caHandle of UserCcdDate Paged cbReason for Paging "left(sys.b,17)"cePaged?"
- tr "cc"copies("=",79)"*0sysdata:log/"logN||a"}cc"copies("=",79)
- tr right("ceYcc=ceThey Paged Youcd, ceNcc=ceYou Weren't Availablecd, ceMcc=ceBut They Sent You Mailcd---'",78+12*3)
- se "n1c9Delete cfPager cbLog c6now?"logkt" "logkill;gu 70;b=result
- if b=0 then exit;else do;se "c9Deleting...";address command "delete sysdata:log/"logN||a;tr "h6edc6.";end
- exit
- DELETELOG:;a=""
- if handle=sysop then do ; tr "n1cbSysOp cfChat ceLogsc6: (cb* c6= cbExistsc6)n1"
- do i=1 to mtot ; ex=exists("sysdata:log/"logN||id.i)
- tr "cf"right(i,7)"c6> cb"substr(" *",ex+1,1)" ca"sys.i
- end i ; se "n1c9Delete ceWhichc6: c9i64 2}";gu 70;b=result
- if b<1|b>mtot then b=1;a=id.b;end;else do;a=id;b=ctr;end
- if ~exists("sysdata:log/"logN||a) then do;tr "n1ce"sys.b"'s cfPager cbLog c6is c9emptyc6...";exit;end
- se "n1c9Delete ce"sys.b"'s cfPager cbLog c6now? c7[caYesc7]c6: cb";gc;b=result;if b="N" then do;tr "cbNo.";exit;end;se "caYesc6! c9Deleting..."
- address command "delete sysdata:log/"logN||a;tr "h6edc6.";exit
-
- READCONFIG:
- call open(f1,df"PagerConfigF","r")
- a=readln(f1);parse var a gra"|"cc"|"cb"|"ac"|"hr"|"j
- a=readln(f1);parse var a fpath"|"cost"|"kill"|"j
- a=readln(f1);parse var a chsp"|"chvo"|"j
- a=readln(f1);parse var a font"|"size"|"logN"|"logK"|"j
- a=readln(f1);parse var a mtot"|"grp1"|"sys1"|"grp2"|"sys2"|",
- grp3"|"sys3"|"grp4"|"sys4"|"j
- do i=1 to mtot;a=readln(f1)
- parse var a id.i"|"sys.i"|"ge.i"|"mid.i"|"pos.i"|"snd.i"|"say.i"|"j
- if id=id.i then ctr=i
- end i
- call close(f1)
- logkill=""word("?1 ?0 =1 =0",logK+1);logkt=""
- if logK=0 then logkt=" c7[caYesc7]c6:ca"
- if logK=1 then logkt=" c7[caNoc7]c6:ca"
- return
-
- SYNTAX:;ERROR:;IOERR:;e1="n1 Error: "rc" ("errortext(rc)")"
- e2=" Line: "left(sigl,4)"File:";c="`"fp", "ver"'";e2=e2" "c;tr e1;tr e2
- logentry e1;logentry e2;e=strip(translate(sourceline(sigl),"\{",""))
- do while e~="";e3="Source: "left(e,37);tr e3;logentry e3;e=substr(e,38);end
- bufferflush
- /**************************************************************************\
- \****************************************** Frontiers BBS (716)/823-9892 **/
-